Skip to content



Klicke hier um zur deutschen Version der Dokumentation zu gelangen.

adaptor:ex helps you to create interactive performances, theater games, installations, chatbot adventures or escape rooms. The graphical programming interface is optimized to bring dramaturgy and game mechanics together and arrange them in a visually concise way.

Screenshot: Create and edit Live Games in adaptor:ex

You can make quick adjustments during rehearsals, monitor and control the live flow during tests and live shows.

Screenshot: Monitoring and controlling the flow of an adaptor:Ex Game

The adaptor:ex editor is opened in your web browser, and you can edit the same game with several people at the same time.

Screenshot: Collaborate with multiple users

Plugins extend the capabilities of your adaptor:ex setup. So you can connect many different software interfaces and devices in one game or story.

On these pages you will find more about how to use adaptor:ex to connect and control your storyline, game mechanics, software and hardware.

Follow the Getting Started guide and try out adaptor:ex right now.

adaptor:ex is a web application that you install and host yourself on your computer or a server. Under Installation you will find the different ways to set up the application.

Start with a Tutorial if you want to get to know one of the many ways you can use adaptor:ex.

In the Glossary you find information about all basic modules and Plugins. The elements of the Editor and the control layer for your Live Show are described here.

News and Updates

19/06/2023 Update Version 2.2

  • Fixed: permissions could not be set for telegram group chats using Edit Chat
  • Added MQTT Plugin that allows to send MQTT messages and to react on messages that have been published to the network.
  • In addition to Accounts, Telegram Bots can now be connected to adaptor:ex via the Telegram plugin.
  • Improved error feedback when setting up plugins and plugin items
  • Level names can be now be edited
  • Some smaller bug fixes and minor adjustments

03/04/2023 Update Version 2.1

  • Added random function to embedded functions
  • Fixed: Could not change duration of Telegram "is typing" feature
  • Fixed: reply option in Telegram On Message not working anymore since version 2.0.
  • A few smaller bug fixes and minor adjustments

27/02/2023 Update Version 2.0

Besides many major and minor bug fixes and improvements, the update to Version 2.0.0 includes the following changes:


  • Improved line routing
  • Duplicate state option
  • Drag and Drop action from one state to another
  • Copy action option
  • Reorder actions inside a state
  • Improved multi user and multi browser collaboration
  • Instantly update level changes for all users in all browsers
  • Visualize remote users editing the same level
  • Added loading animation
  • Fixed: Console log stops updating when there are more than 11000 Lines

Live Mode

  • Added information about referenced items in level view and overview


  • Improved function action with next state outlets
  • Inline functions arguments allow string type, number type and variables (see functions as variables)
  • Add new functions and properties to game and session context


  • Events are now bound to an event source (see events)
  • Sessions, Plugins, Plugin Items and Data items can now dispatch events

Telegram Plugin

  • Replaced python telegram API library "telethon" with native javascript/nodejs module "gramjs". Therefor it is no longer required to install python.
  • Added typing delay option to Send Message action
  • Improved working with polls
  • Added invite link option to Create Chat action


  • You can now add plugins from the data or any custom directory

Documentation for version 1.x

Older versions of the documentation can be found in the source repository on gitlab.

From the branches selection choose the required version under tags.

Latest 1.x version can be found here.

Migrate from previous version

Version 2 includes several changes that will break most games that were created in previous versions.

Important changes to the server configuration are:

  • The default data directory is now called "adaptorex" instead of "data"
  • The "user" option in "config.json" is now called "users" (see Readme)

If you want to migrate levels created with version 1.x you need to consider the following changes if you use any of the respective elements:

  • Data action load ("Load Item") is now called getItem ("Get Item")
  • Data action create ("Create Item") is now called addItem ("Add Item")
  • "name" property in data action addItem (fka. create) is now called "reference".
  • The property name in the function action is now called function
  • The syntax for functions that are called inside variables has changed

Functions that are called inside variables are now referenced by functions (plural) instead of function and functions that are called inside variables require to define the arguments type. You will need to wrap all arguments in quotes to update your level.

E.g. [[function.test(value1,value2)]] should become [[functions.test("value1","value2")]]

  • Telegram action dialog ("Dialog") is now called onMessage ("On Incoming Message")
  • Telegram On Incoming Message timeout structure changed and is now separated into while idle and finally option.
  • Twilio Action smsout is now called sendSms.
  • Twilio Action smsin is now called onSms.
  • Twilio Action callin is now called onCall.
  • Telegram and Twilio telnumber property is now called phone_number

To make sure you get hold of all changes, download each level and find and replace the above names, before you upload your levels to the updated adaptor:ex editor.

Even though it is possible to adapt all elements of a game to fit Version 2 we recommend to create a new game and recreate your plugins and copy your data collections from the original project.

If you need help migrating your project join our Discord Channel or send us an e-mail.

This is a machina commons project of machina eX.

sponsored by

Logo Senate Department for Culture and Europe Berlin

Senate Department for Culture and Europe Berlin